The present invention relates to a method and apparatus for transmitting video data while controlling congestion through a network in which the video is transmitted. More particularly, the present invention relates to support for compressed video providing explicit rate congestion control including adapting the rate of encoding the video.
More and more frequently, video information is the subject of data transfers through existing networks. Examples of such a video traffic include video data associated with a real-time communication such as a video teleconference and pre-stored video entertainment information. It is well known to provide mechanisms for compressing the video data to facilitate the transfer of video over existing networks. Compressed video traffic is likely to form a significant component of the workload of future networks.
FIG. 1 illustrates, in schematic form, an example of a known video transmission system. A video encoder/transmitter 10 receives video signals at its input 11 and produces compressed video data at its output 12. The compressed video information is sent into the network 20 where it traverses a number of switches, for example 21, 22 and 23 as it is routed to its intended destination, here shown as receiver/decoder 30. The receiver then takes the encoded information, decodes it and outputs the video signal.
It is also known that the video encoder can provide some adaptive control so as to govern the rate at which the compressed video, which is known to be inherently bursty is provided to the network. An example of a known adaptive encoder is illustrated in FIG. 1A. In this known encoder the video received at input 11 is provided to the transform device 13. The transform device creates the encoded data and transfers that encoded data to internal buffer 14. The internal buffer then outputs encoded data to the network through the output 12. If the transform device 13 is encoding data faster than the buffer is outputting data then the buffer 14 begins to fill. A feedback mechanism as indicated by line 15 permits the buffer to notify the transformer of the status of the buffer so as to allow the transformer 13 to adapt its encoding rate to avoid overfill of the buffer. If the transformer is encoding video at a rate slower than the buffer is outputting data then the buffer could run dry if the feedback mechanism was not in place to advise the transformer 13 to increase its rate of encoding.
Work has already been done in examining how to transmit compressed video over Asynchronous Transfer M (ATM) networks. In fact, a number of different methods have been proposed. These methods attempt to exploit different service classes that the underlying ATM network is capable of transporting. The classes of services offered by ATM networks include: Constant Bit Rate (CBR), Variable Bit Rate (VBR), the best-effort classes of service, Available Bit Rate (ABR), and Unspecified Bit Rate (UBR).
In a proposal to transmit compressed video using the CBR service, the inherently variable bit rate output of a video encoder is locally buffered in the encoder to convert it into a CBR stream. Thus, in the example shown in FIG. 1A, the buffer 14 operates to produce a constant bit rate output at 12 while providing feedback to the transformer 13 to adjust the encoding rate of the transformer so that data is not lost by overfilling and also that the buffer does not run dry. However, this can result in a variable quality constant bit rate stream. That is, with CBR there is no correlation between the transformer encoding rate and the type of video that is being received by the transformer. Thus, it is possible that as the buffer signals back to the transformer that it needs to adjust the encoding rate, it will do so at a time that the video signal will be ill-served by the requested adjustment so as to degrade the quality of the signal represented by the constant bit rate stream. Thus, employing this transport scheme is costly in terms of variable quality. Furthermore, there is a penalty in that there is no attempt to exploit any multiplexing gains that are possible in the original variable bit rate traffic. However, the advantage to this scheme is that the constant bit rate nature of this stream makes admission control to the network trivial.
An unrestricted (or open-loop) VBR provides that the inherently bursty video traffic from the encoder is transported over the real-time VBR service class. Since peak-to-mean ratios of the traffic can be high, there is a potential for multiplexing gain and the "effective" bandwidth needed may be less than that for CBR of the same quality. In this configuration the source rate itself does not adapt to the network's state. An example of an encoder in such a service could be obtained by modifying the encoder of FIG. 1A to delete the feedback provided by line 15. For admission control of such sources it is necessary to provide an accurate source model and it is also necessary to police the sources to insure that they conform to the model. Due to this latter requirement, source models in practice are restricted to simple models such as the specification of peak rate, average rate and a maximum burst size (which can be policed using leaky buckets). Such a simple source model forces admission control to be conservative since the lack of statistics regarding source behavior, necessitates conservative assumptions, to overcome errors in estimation/prediction.
The use of the best-effort service for transport of compressed video requires unrestricted source adaptation as in the Internet Video Tools (such as VIC, NV) where the sources adapt to the rate offered by the network. This can be viewed as an extreme of a rate adaptive source in contrast to the opposite end of the spectrum, the unrestricted VBR service, where sources do not adapt to network conditions at all. Using a best-effort service, the quality can get unacceptably poor since there is no minimum rate guaranteed.
A hybrid approach has also been considered. This hybrid can be referred to as renegotiated CBR (RCBR) which is a hybrid of the CBR and VBR approaches. The renegotiated CBR attempts to combine the simplicity of admission control for CBR with the advantages of VBR. This is based on the observation that video traffic has fluctuations happening over both short time scales (less than typical buffer drain times) and long time scales. A component of multiplexing gain in unrestricted CBR is the buffer-less multiplexing gain (from the multiplexing gain across sources). RCBR simplifies network support for VBR video by accounting only for this gain, that is, it does not attempt to extract the gains from shared buffering in the network. An effective bandwidth also referred to as an effective bit rate is requested such that the source buffer can absorb short-term fluctuations without exceeding specified loss rates. The requested rate is then renegotiated when a change in the slow (long) time scale is detected. The network therefore sees sources with piece wise linear rates that can be transported as CBR streams. The scheme depends on distinguishing short-term fluctuations from long-term trend changes and the rate renegotiation involves signaling. Unfortunately, on present day systems this can reasonably be done only in intervals of at least a few tens, if not hundreds, of frames. Furthermore, it is not only required that a trend change be detected, but also that at the beginning of such a change period an effective bandwidth valid over the slow time scale (on the order of seconds) be forecast. An algorithm for computing optimal rate requests for stored video is described in a paper entitled "RCBR: A Simple and Efficient Service for Multiple Time Scale Traffic" by Grossglauser et al., proceedings of the ACM SIGCOMM 1995 Conference, September 1995. However, a method to compute rate requests for real-time video is not given. A source initiated renegotiation necessarily implies that there is no mechanism for the network to inform sources of congestion abatement and newly available bandwidth. Hence, a source which adapts downward cannot use newly available bandwidth until the next renegotiation instant. Achieving low renegotiation blocking with RCBR (needed to control loss and frequent downward adaptations) requires careful engineering of the network and a good model for the distribution of source rates over the slow time scale.
Having reviewed the features to these ATM service classes it is appropriate to consider how the needs of video transmission mesh with these services. Maintaining low overall delay is critical especially for interactive video. An explicit rate scheme, with appropriate switch rate allocation mechanisms, ensures that the aggregate rate of all of the sources sharing the resource remains below the resource capacity.
Unlike data, transmitting entertainment quality video or video from teleconferencing applications requires a minimum bandwidth from the network to insure acceptable quality even in periods of congestion. Traditional best-effort services in data networks such as the current TCP/IP Internet have not provided such a minimum bandwidth while some of the service classes in ATM are designed to support such a minimum.
It would be advantageous if there existed a scheme for the transmission of compressed video data that took advantage of a number of the more desirably features of the above known transport mechanisms. For instance, it would beneficial to provide a mechanism that preserves the simple call admission control feature of CBR while exploiting the inherent negotiation available in explicit rate schemes.